home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / telecom / 46 / pascal / tinyterm.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1986-08-15  |  2.0 KB  |  104 lines

  1. {********************Tiny Term program start********************}
  2. PROGRAM Terminal (INPUT,OUTPUT);
  3.  
  4. CONST
  5.   Rs232   = 1;
  6.   Console = 2;
  7.  
  8. VAR
  9.   Baud,Ctrl,Ucr : INTEGER;
  10.   Rsr,Tsr,Scr   : INTEGER;
  11.   Opt,Speed,Dev : INTEGER;
  12.   Transfer      : CHAR;
  13.   Flg           : BOOLEAN;
  14.  
  15. {$I d:\myprogs.pas\cursor.pas}
  16.  
  17. {**********XBIOS and BIOS**********}
  18.  
  19. PROCEDURE Rs232_Config(Baud,Ctrl,Ucr,Rsr,Tsr,Scr:INTEGER);
  20.   Xbios(15);
  21.  
  22. PROCEDURE Setup_Cursor(Opt,Speed:INTEGER);
  23.   Xbios(21);
  24.  
  25. FUNCTION Dvi_In_Stat(Dev:INTEGER):INTEGER;
  26.   Bios(1);
  27.  
  28. FUNCTION Dvi_Out_Stat(Dev:INTEGER):INTEGER;
  29.   Bios(8);
  30.  
  31. FUNCTION Dvi_In(Dev:INTEGER):Long_Integer;
  32.   Bios(2);
  33.  
  34. PROCEDURE Dvi_Out(Dev,Transfer:INTEGER);
  35.   Bios(3);
  36.  
  37. FUNCTION Kbshift:Long_Integer;
  38.   Bios(11);
  39.  
  40. {**********Procedures**********}
  41.  
  42. PROCEDURE Initialize;
  43.  
  44. BEGIN
  45.   Baud := 7; Ctrl := 1;
  46.   Ucr := 136; Rsr := -1;
  47.   Rsr := -1; Tsr := -1;
  48.   Scr := -1;
  49.   ClrScr;
  50.   WRITELN; WRITELN('Tiny Term V1.0 - By Dan Polfer 07/20/86');
  51.   WRITELN;
  52.   Rs232_Config(Baud,Ctrl,Ucr,Rsr,Tsr,Scr);
  53.   Setup_Cursor(1,0); Setup_Cursor(2,0); Setup_Cursor(4,20);
  54. END; {initialize}
  55.  
  56. {********************}
  57.  
  58. FUNCTION In_Phone:CHAR;
  59.  
  60. VAR
  61.   Rawch   : Long_Integer;
  62.  
  63. BEGIN
  64.   IF Dvi_In_Stat(Rs232) = -1 THEN BEGIN
  65.     Rawch := Dvi_In(Rs232);
  66.     Rawch := Rawch & $000000ff;
  67.     In_Phone := CHR(Rawch);
  68.     Flg:=TRUE;
  69.     END
  70.   ELSE
  71.     Flg:=FALSE;
  72. END; {in_phone}
  73.  
  74. {********************}
  75.  
  76. PROCEDURE Out_Phone;
  77.  
  78. VAR
  79.   Rawch : Long_Integer;
  80.   Chvl  : INTEGER;
  81.   F     : TEXT;
  82.  
  83. BEGIN
  84.   Rawch := Dvi_In(Console);
  85.   Rawch := Rawch&$000000ff;
  86.   Transfer:=CHR(Rawch);
  87.   REPEAT UNTIL Dvi_Out_Stat(Rs232) = -1;
  88.   REWRITE(F,'AXO:');
  89.   WRITE(F,Transfer);
  90. END; {out_phone}
  91.  
  92. {********************}
  93.  
  94. BEGIN {program}
  95.   Initialize;
  96.   REPEAT
  97.     Transfer:=In_Phone;
  98.     IF Flg THEN WRITE(Transfer);
  99.     IF Keypress THEN Out_Phone;
  100.   UNTIL Transfer='~';
  101. END.
  102.  
  103. {********************End of program********************}
  104.